package org.zoomdev.zoom.web.action;

public interface PreParseInterceptor {

    /**
     * 此时系统并没有对参数做出任何解析，可以由用户自定义解析参数，并设置调用context.setPreParam保存预处理的结果
     * <p>
     * 如果发现请求不符合要求，则可以如下处理：
     * 1、直接抛出异常，然后使用定义的异常处理程序处理输出
     * 2、直接调用context.setResult设置一个值，表示已经处理完成，要求输出
     * {@link ActionContext#STATE_PRE_PARSE}
     *
     * @param context
     * @return 返回false将直接终止，所以如果有输出，则必须手动从response输出
     */
    boolean preParse(ActionContext context) throws Exception;
}
